<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <script>
    /*
    Promise的使用：
      -Promise是一个构造函数，使用时需要实例化，并接受一个回调函数为参数
      -把异步代码放在promise的回调函数中处理(promise自身的是同步的，只是用来处理异步代码)
      -promise回调函数接收resolve和reject两个参数，这两个参数都是函数
      -promise实例的默认状态是pending，通过调用不同的参数来改变其状态
      -调用resolve：pending=>成功状态
       调用reject： pending=>失败状态，失败状态不会中断代码的执行
       promise实例的状态只能有pending改为其他状态
      -resolve和reject都会接受一个参数，这个参数就是成功或失败的信息，
       这些信息会放在PromiseResult这个属性上面
    */
    const pm = new Promise((resolve,reject)=>{
        console.log("请求A数据");
        setTimeout(()=>{
            console.log("A数据请求成功");
            /*
            读取成功  
            promiseState: fulfilled
            promiseResult: {username: "rain"}
            */ 
            // resolve({
            //     username: "rain"
            // })

            /*
            读取失败 读取失败并不会影响
            promiseState: rejected
            promiseResult: error:出错啦！
            */ 
            reject("error:出错啦！")
            // 以上报错不会影响后面代码的执行
            console.log("看看上面的报错能拿我怎么样");
        },2000)
    })

    console.log("pm",pm);

   </script> 
</body>
</html>